<?php
include_once "filtro_cabecera.php";
include_once "../funciones/funciones_php.php";
include_once "../funciones/fpdf_1.7/fpdf.php";
include_once "../funciones/code128.class.php";

//Conecta con la bd
$conexion = conectar();

/**
 *
 *@description Crear el ticket de la caja o de la valija
 *
 */

function getTicketCaja($pdf , $cantidad , $saltoVertical , $saltoHorizontal,$codigo , $idOrden , $filaDatos , $tipoEncomienda , $j , $numFactura)
{
    //Guarda datos de destino
    $clNom =  $filaDatos['clnom'];
    $clDir =  $filaDatos['cldir'];
    $clRut =  $filaDatos['clrut'];
    $clComuna =  $filaDatos['clcomuna'];
    $coRut =  $filaDatos['corut'];
    $coNom =  $filaDatos['conom']. " " . $filaDatos['conape'];
    $coDir =  $filaDatos['codir'] . " " . $filaDatos['connumdir'] . " " . $filaDatos['numdepto'];
    $coTel =  $filaDatos['cotel'];
    $coComuna =  $filaDatos['cocomuna'];  
    
    if($tipoEncomienda == 1)
    {
        $tipo = "Caja";
    }
    elseif($tipoEncomienda == 2)
    {
        $tipo = "Sobre";
    }
    elseif($tipoEncomienda == 3)
    {
        $tipo = "Valija";
    }
    elseif($tipoEncomienda == 4)
    {
        $tipo = "Factura";
    }
    
    //rectangulo borde del ticket
    $pdf->Rect(15 + $saltoHorizontal, 15 + $saltoVertical, 90, 70 , 'D');
    $pdf->Rect(15 + $saltoHorizontal, 15 + $saltoVertical, 90, 70 , 'D');
                        
                        
    //Crea codigo de barras para el ticket
    $barcode = new phpCode128($codigo, 70, '../funciones/verdana.ttf', 10);
    $barcode->setEanStyle(false);
    $barcode->setBorderSpacing(0);
    $barcode->setBorderWidth(0);
    $barcode->setAutoAdjustFontSize( false );
    $barcode->saveBarcode($codigo.".png");
    
    //pega la imagen del codigo de barras en el PDF
    $pdf->Image($codigo.".png", 20 + $saltoHorizontal, 20 + $saltoVertical, 30, 0, "", "");
    
    //Borra la imagen del codigo de barra
    unlink($codigo.".png");
                    
    //Datos consignatario
    $pdf->SetFont('Courier','b',16);
        $pdf->Text(20 + $saltoHorizontal , 40 + $saltoVertical ,$idOrden);
        $pdf->Text(20 + $saltoHorizontal , 45 + $saltoVertical , $tipo );
    if($tipoEncomienda == 4)
    {
        $pdf->Text(20 + $saltoHorizontal, 50 + $saltoVertical , "N?: " . $numFactura );
    }
    else
    {
        $pdf->Text(20 + $saltoHorizontal, 50 + $saltoVertical ,($j + 1) . "/" . $cantidad );
    }
    
    $pdf->SetFont('Courier','',12);
                        
    $pdf->SetXY(20 + $saltoHorizontal , 55 + $saltoVertical);
        $pdf->MultiCell( 80,4, $coNom ,0,"L",0 );
    $pdf->SetX(20 + $saltoHorizontal);
        $pdf->MultiCell( 80,4, $coDir ,0,"L",0 );
    $pdf->SetX(20 + $saltoHorizontal);
        $pdf->MultiCell( 80,4, $coComuna ,0,"L",0 );
    $pdf->SetX(20 + $saltoHorizontal);
        $pdf->MultiCell(80,4, "Rut: " . $coRut ,0,"L",0);
    $pdf->SetX(20 + $saltoHorizontal);
        $pdf->MultiCell(80,4, "Fono: " . $coTel ,0,"L",0);
    
                        
}
  

function getDatos($idOrden, $idCliente)
{
    /* Obtiene datos de cliente y consignatario */
    $sql = sprintf("SELECT cl.nombre as clnom,cl.apellido as clape, cl.direccion as cldir,cl.numero_direccion as clnumdir,cl.numero_depto as clnumdepto,
                            cl.telefono1 as cltel1, cl.telefono2 as cltel2, cl.rut as clrut,
                            cl_comu.comuna as clcomuna, of.rut_consignatario as corut, of.nombre_consignatario as conom,
                            of.apellido_consignatario as conape, of.telefono_consignatario as cotel, of.direccion_consignatario as codir,
                            of.numero_direccion as connumdir, of.numero_depto as numdepto, co_comuna.comuna as cocomuna
                    FROM cliente cl, orden_flete of, comuna cl_comu, comuna co_comuna
                    WHERE of.id_orden_flete = '%d'
                    AND co_comuna.id_comuna = of.id_comuna
                    AND cl.id_cliente = '%s'
                    AND cl_comu.id_comuna = cl.id_comuna",
                    pg_escape_string($idOrden),pg_escape_string($idCliente));
        
    //hace consulta
    $consulta = pg_query($sql)or die("Error en la consulta");
    $nFilas = pg_num_rows($consulta);

    //Si encontro los resultados lo pasa a array asociativo
    if($nFilas > 0)
    {
        
        //Array con datos de cliente y consignatario
        $filaDatos = pg_fetch_array($consulta);
        
        return $filaDatos;
    }
    else
    {
        return false;
    }
        
}

//Comprueba que exista el array de ordenes de flete
if( isset($_GET['idOrdenEnvio']) )
{  
    //Guarda el id del cliente que esta en la session actual
    //$arrayIdCliente = explode("|",$_GET['id_cliente']);
    $nombre_empresa =  $_SESSION['nombre_empresa'];
    $direccion_empresa =  $_SESSION['direccion_empresa'];
    $fono_empresa =  $_SESSION['fono_empresa'];
    $correo_empresa =  $_SESSION['correo_empresa'];
       
    //crea un objeto de pdf
    $pdf = new FPDF('P','mm','Letter');
    
    /* Revisa la cantidad de encomiendas que tiene la orden de envio*/
    $idOrdenEnvio = explode("|",$_GET['idOrdenEnvio']);// separa el array de ordenes
    
    /*******************************************
     *
     *
     * CAJAS
     *
     *******************************************/
    //Inicializa los contadores
    $count = 0; //contador de tickets generados
    $saltoVertical = 0;//Espacio entre tickets horizontal
    $saltoHorizontal = 0;//Espacio vertical entre tickets
    
    //Recorre cada orden para obtener sus datos 
    for($x = 0 ; $x < count($idOrdenEnvio) ; $x++)
    {
       
        //Asigna el la orden x a idOrden
        $idOrden = $idOrdenEnvio[$x];
        $idCliente = getIdCliente($idOrden);
        
        //Obtiene datos de cliente y consignatario
        $filaDatos = getDatos($idOrden, $idCliente) or die("Error al obtener datos de cliente y consignatario");
                
        //Consulta si es que existen cajas en la orden y si existen obtiene su codigo de barra
        $sql = sprintf("SELECT denc.codigo_barra
                        FROM encomienda enc , detalle_encomienda denc
                        WHERE enc.id_orden_flete = '%s'
                        AND enc.id_tipo_encomienda = 1
                        AND denc.id_encomienda = enc.id_encomienda",
                        pg_escape_string($idOrden));
       
        $consulta = pg_query($sql)or die("Error en la consulta");
        //Cuenta filas afectadas
        $nFilas = pg_num_rows($consulta);
        
        //si encontro cajas en esa orden
        if($nFilas > 0)
        {
            //Guarda cantidad de cajas
            $cantidad = $nFilas;
            
            //Si no hay tickets de caja creados agrega una pagina
            if($count == 0)
                $pdf->AddPage();//Agrega una pagina
            
            
            //Recorre cada encomienda de la orden de flete del tipo caja y crea su ticket
            for($j = 0 ; $j < $cantidad ; $j++)
            {
                //Si se completo la hoja con ticket reinicia las posiciones y a?ade una pagina nueva
                if($count == 6)
                {
                    $pdf->AddPage();//Agrega una pagina
                    $count = 0;//Contador de tickets
                    $saltoVertical = 0;//Espacio entre tickets horizontal
                    $saltoHorizontal = 0;//Espacio vertical entre tickets
                }
                
                //Asigna resultados a un array asociativo
                $fila = pg_fetch_array($consulta);
                    
                //Guarda el codigo de barra de la encomienda
                $codigo = $fila['codigo_barra'];
                        
                //dise?a el ticket para caja  
                getTicketCaja($pdf , $cantidad , $saltoVertical , $saltoHorizontal,$codigo , $idOrden , $filaDatos , 1 , $j, 0);
                                   
                //Se contabiliza el ticket
                $count++;
                    
                //pasa a la columna derecha
                if($saltoHorizontal == 0)
                {
                    $saltoHorizontal = 96;
                }//Pasa a la columna izquierda y desciende una posicion
                elseif($saltoHorizontal == 96)
                {
                    $saltoVertical = $saltoVertical + 75;
                    $saltoHorizontal = 0;
                }         
            }   
        }
    }
    
    
    /****************************************
     *
     *
     * CREA TICKET DE VALIJAS
     *
     *
     *****************************************/
    
   
    
    for($x = 0 ; $x < count($idOrdenEnvio) ; $x++)
    {
       
        //Asigna el la orden x a idOrden
        $idOrden = $idOrdenEnvio[$x];
        
        //Obtiene datos de cliente y consignatario
        $filaDatos = getDatos($idOrden, $idCliente) or die("Error al obtener datos de cliente y consignatario");
        
        //Busca todas las cajas que posee la orden y su cantidad
        $sql = sprintf("SELECT denc.codigo_barra
                        FROM encomienda enc , detalle_encomienda denc   
                        WHERE enc.id_orden_flete = '%s'
                        AND enc.id_tipo_encomienda = 3
                        AND denc.id_encomienda = enc.id_encomienda",
                        pg_escape_string($idOrden));
       
        $consulta = pg_query($sql)or die("Error en la consulta");
        //Cuenta filas afectadas
        $nFilas = pg_num_rows($consulta);
        
        //si encontro cajas en esa orden
        //si encontro cajas en esa orden
        if($nFilas > 0)
        {
            //obtiene la cantidad de cajas que encontro
            $cantidad = $nFilas;
            
             //Si esta llena la hoja crea una hoja nueva y reinicia los contadores
            if($count == 6 || $count == 0)
            {
                $pdf->AddPage();//Agrega una pagina
                $count = 0; //contador de ticket por paginas
                $saltoVertical = 0;//Espacio entre tickets de caja
            }
                
            //Recorre cada encomienda de la orden de flete del tipo caja y crea su ticket
            for($j = 0 ; $j < $cantidad ; $j++)
            {
                
                //Si se completo la hoja con ticket reinicia las posiciones y a?ade una pagina nueva
                if($count == 6)
                {
                    $pdf->AddPage();//Agrega una pagina
                    $count = 0; //Reinicia contador de tickets
                    $saltoVertical = 0;//Espacio entre tickets horizontal
                    $saltoHorizontal = 0;//Espacio vertical entre tickets
                }
                
                //Asigna resultados a un array asociativo
                $fila = pg_fetch_array($consulta);
                
                //Guarda codigo de barra de la valija
                $codigo = $fila['codigo_barra'];
                
                //dise?a el ticket para caja valija
                getTicketCaja($pdf , $cantidad , $saltoVertical , $saltoHorizontal,$codigo , $idOrden , $filaDatos , 3 , $j, 0);  
                    
                //Se contabiliza el ticket
                $count++;
                
                //pasa a la columna derecha
                if($saltoHorizontal == 0)
                {
                    $saltoHorizontal = 96;
                }//Pasa a la columna izquierda y desciende una posicion
                elseif($saltoHorizontal == 96)
                {
                    $saltoVertical = $saltoVertical + 75;
                    $saltoHorizontal = 0;
                }
                        
            }    
        }
    }
    
    /**
     *
     * CREA TICKET DE SOBRES
     *
     */
    
    for($x = 0 ; $x < count($idOrdenEnvio) ; $x++)
    {
       
        //Asigna el la orden x a idOrden
        $idOrden = $idOrdenEnvio[$x];
        
        //Obtiene datos de cliente y consignatario
        $filaDatos = getDatos($idOrden, $idCliente) or die("Error al obtener datos de cliente y consignatario");
        
        //Busca todas las cajas que posee la orden y su cantidad
        $sql = sprintf("SELECT denc.codigo_barra
                        FROM encomienda enc , detalle_encomienda denc   
                        WHERE enc.id_orden_flete = '%s'
                        AND enc.id_tipo_encomienda = 2
                        AND denc.id_encomienda = enc.id_encomienda",
                        pg_escape_string($idOrden));
       
        $consulta = pg_query($sql)or die("Error en la consulta");
        //Cuenta filas afectadas
        $nFilas = pg_num_rows($consulta);
        
        //si encontro cajas en esa orden
        //si encontro cajas en esa orden
        if($nFilas > 0)
        {
            //obtiene la cantidad de cajas que encontro
            $cantidad = $nFilas;
            
             //Si esta llena la hoja crea una hoja nueva y reinicia los contadores
            if($count == 6 || $count == 0)
            {
                $pdf->AddPage();//Agrega una pagina
                $count = 0; //contador de ticket por paginas
                $saltoVertical = 0;//Espacio entre tickets de caja
            }
                
            //Recorre cada encomienda de la orden de flete del tipo caja y crea su ticket
            for($j = 0 ; $j < $cantidad ; $j++)
            {
                
                //Si se completo la hoja con ticket reinicia las posiciones y a?ade una pagina nueva
                if($count == 6)
                {
                    $pdf->AddPage();//Agrega una pagina
                    $count = 0; //Reinicia contador de tickets
                    $saltoVertical = 0;//Espacio entre tickets horizontal
                    $saltoHorizontal = 0;//Espacio vertical entre tickets
                }
                
                //Asigna resultados a un array asociativo
                $fila = pg_fetch_array($consulta);
                
                //Guarda codigo de barra de la valija
                $codigo = $fila['codigo_barra'];
                
                //dise?a el ticket para caja valija
                getTicketCaja($pdf , $cantidad , $saltoVertical , $saltoHorizontal,$codigo , $idOrden , $filaDatos , 2 , $j , 0);  
                    
                //Se contabiliza el ticket
                $count++;
                
                //pasa a la columna derecha
                if($saltoHorizontal == 0)
                {
                    $saltoHorizontal = 96;
                }//Pasa a la columna izquierda y desciende una posicion
                elseif($saltoHorizontal == 96)
                {
                    $saltoVertical = $saltoVertical + 75;
                    $saltoHorizontal = 0;
                }
                        
            }    
        }
    }
    
    
    /**
     *
     * CREA TICKET DE FACTURAS
     *
     */
    
    for($x = 0 ; $x < count($idOrdenEnvio) ; $x++)
    {
       
        //Asigna el la orden x a idOrden
        $idOrden = $idOrdenEnvio[$x];
        
        //Obtiene datos de cliente y consignatario
        $filaDatos = getDatos($idOrden, $idCliente) or die("Error al obtener datos de cliente y consignatario");
        
        //Busca todas las cajas que posee la orden y su cantidad
        $sql = sprintf("SELECT denc.codigo_barra, enc.num_factura
                        FROM encomienda enc , detalle_encomienda denc   
                        WHERE enc.id_orden_flete = '%s'
                        AND enc.id_tipo_encomienda = 4
                        AND denc.id_encomienda = enc.id_encomienda",
                        pg_escape_string($idOrden));
       
        $consulta = pg_query($sql)or die("Error en la consulta");
        //Cuenta filas afectadas
        $nFilas = pg_num_rows($consulta);
        
        //si encontro cajas en esa orden
        //si encontro cajas en esa orden
        if($nFilas > 0)
        {
            //obtiene la cantidad de cajas que encontro
            $cantidad = $nFilas;
            
             //Si esta llena la hoja crea una hoja nueva y reinicia los contadores
            if($count == 6 || $count == 0)
            {
                $pdf->AddPage();//Agrega una pagina
                $count = 0; //contador de ticket por paginas
                $saltoVertical = 0;//Espacio entre tickets de caja
            }
                
            //Recorre cada encomienda de la orden de flete del tipo caja y crea su ticket
            for($j = 0 ; $j < $cantidad ; $j++)
            {
                
                //Si se completo la hoja con ticket reinicia las posiciones y a?ade una pagina nueva
                if($count == 6)
                {
                    $pdf->AddPage();//Agrega una pagina
                    $count = 0; //Reinicia contador de tickets
                    $saltoVertical = 0;//Espacio entre tickets horizontal
                    $saltoHorizontal = 0;//Espacio vertical entre tickets
                }
                
                //Asigna resultados a un array asociativo
                $fila = pg_fetch_array($consulta);
                
                //Guarda codigo de barra de la valija
                $codigo = $fila['codigo_barra'];
                //Guarda numero de factura
                $numFactura = $fila['num_factura'];
                
                //dise?a el ticket para caja valija
                getTicketCaja($pdf , $cantidad , $saltoVertical , $saltoHorizontal,$codigo , $idOrden , $filaDatos , 4 , $j , $numFactura);  
                    
                //Se contabiliza el ticket
                $count++;
                
                //pasa a la columna derecha
                if($saltoHorizontal == 0)
                {
                    $saltoHorizontal = 96;
                }//Pasa a la columna izquierda y desciende una posicion
                elseif($saltoHorizontal == 96)
                {
                    $saltoVertical = $saltoVertical + 75;
                    $saltoHorizontal = 0;
                }
                        
            }    
        }
    }
    
    
    
    
    
         
               
            
            /*******************************************
             *                                         *
             *    Imprime comprobante                  *
             *                                         *
             *******************************************/
        
            
        
            //Agrega una nueva pagina al pdf
            $pdf->AddPage('P','Letter');
            
            //Logo y datos de empresa
            $pdf->SetXY(20,5);
            $pdf->SetFont('Courier','',7);
            $pdf->MultiCell(80 , 5 , $nombre_empresa . "\n" . $direccion_empresa . "\nFono: " . $fono_empresa . "\nCorreo: " . $correo_empresa);
            
            //Titulo de documento
            $pdf->SetXY(20,30);
            $pdf->SetFont('Courier','b',12);
            $pdf->Cell(175 , 0 , "DETALLE DE ENVIO" , 0 , 0 , 'C' , 0 , '');
            
            //Titulo Datos remitente        
            $pdf->Rect(20 , 35 , 175 , 6 , 'D');
            $pdf->SetFont('Courier','',9);
            $pdf->Text(90 , 39 , "DATOS REMITENTE");
            
            //Datos remitente
            //$pdf->Rect(20 , 41 , 170 , 40 , 'D');
            //$pdf->Rect(20 , 41 , 170 , 40 , 'D');
            //Rectangulo remitente
            $pdf->Rect(20 , 41 , 175 , 7 , 'D');
            //Etiquetas datos remitente
            $pdf->SetFont('Courier','',6);
            $pdf->Text(21 , 43 , "FECHA"); 
            $pdf->Text(40 , 43 , "CODIGO");    
            $pdf->Text(65 , 43 , "RUT");
            $pdf->Text(100 , 43 , "NOMBRE");
            //Rectangulo
            $pdf->Rect(20 , 48 , 175 , 7 , 'D');
            $pdf->Text(21 , 50 , "DIRECCION");
            $pdf->Text(110 , 50 , "COMUNA");
            //variables datos remitente
            $pdf->SetFont('Courier','',7);
            $pdf->SetXY(22 , 43);
            $pdf->Cell(19 , 5 , "25-02-2011" , 0);
            $pdf->SetXY(41 , 43);
            $pdf->Cell(25 , 5 , $idCliente , 0);
            $pdf->SetXY(66 , 43);
            $pdf->Cell(35 , 5 , $filaDatos['clrut'] , 0);
            $pdf->SetXY(101 , 43);
            $pdf->Cell(89,5,$filaDatos['clnom']." ".$filaDatos['clape'], 0);
            $pdf->SetXY(22 , 50);
            $pdf->Cell(89 , 5 , $filaDatos['cldir']." ".$filaDatos['clnumdir']." ".$filaDatos['clnumdepto'] , 0);
            $pdf->SetXY(111 , 50);
            $pdf->Cell(79 , 5 , $filaDatos['clcomuna'] , 0);
            //"\nRUT: " . $clRut ."\nDIRECCION: " . $clDir . "\nCOMUNA: " . $clComuna);
            
            // TITULO DETALLE DE ENVIO
            $pdf->SetXY(20,60);
            $pdf->Cell(175 , 5 , "DETALLE" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(20,65);
            $pdf->Cell(30 , 5 , "N? Orden" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(50,65);
            $pdf->Cell(90 , 5 , "Direccion" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(140,65);
            $pdf->Cell(10 , 5 , "Cajas" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(150,65);
            $pdf->Cell(10 , 5 , "Sobres" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(160,65);
            $pdf->Cell(10 , 5 , "Valijas" , 1 , 0 , 'C' , 0 , '');
            $pdf->SetXY(170,65);
            $pdf->Cell(25 , 5 , "N? Factura" , 1 , 0 , 'C' , 0 , '');
            $saltoY = 0;
            //Recorre cada orden
            for($i = 0 ; $i < count($idOrdenEnvio) ; $i++)
            {
                $idOrden = $idOrdenEnvio[$i];
                //obtiene direccion de consignatario
                $filaDatos = getDatos($idOrden, $idCliente) or die("Error al obtener datos de cliente y consignatario");
                
                //Cuenta el numero de cajas
                $sql = sprintf("SELECT cantidad FROM encomienda WHERE id_tipo_encomienda = '1' AND id_orden_flete = '%s'",pg_escape_string($idOrden));
                $consulta = pg_query($sql)or die("error al obtener cantidad de cajas");
                $numCajas = pg_fetch_array($consulta);
                
                //Cuenta el numero de sobres
                $sql = sprintf("SELECT cantidad FROM encomienda WHERE id_tipo_encomienda = '2' AND id_orden_flete = '%s'",pg_escape_string($idOrden));
                $consulta = pg_query($sql)or die("error al obtener cantidad de sobres");
                $numSobres = pg_fetch_array($consulta);
                
                //Cuenta el numero de valijas
                $sql = sprintf("SELECT cantidad FROM encomienda WHERE id_tipo_encomienda = '3' AND id_orden_flete = '%s'",pg_escape_string($idOrden));
                $consulta = pg_query($sql)or die("error al obtener cantidad de valijas");
                $numValijas = pg_fetch_array($consulta);
                
                //obtiene el numero de la factura
                $sql = sprintf("SELECT num_factura FROM encomienda WHERE id_tipo_encomienda = '4' AND id_orden_flete = '%s'",pg_escape_string($idOrden));
                $consulta = pg_query($sql)or die("error al obtener cantidad de valijas");
                $numFactura = pg_fetch_array($consulta);
                
                //Escribe numero de orden
                $pdf->SetXY(20,70 + $saltoY);
                $pdf->Cell(30 , 5 , $idOrden , 1 , 0 , 'C' , 0 , '');
                //Escribe direccion
                $pdf->SetXY(50,70 + $saltoY);
                $pdf->Cell(90 , 5 , $filaDatos['codir'] . " " . $filaDatos['connumdir'] . " " . $filaDatos['numdepto'] . " " . $filaDatos['cocomuna']  , 1 , 0 , 'C' , 0 , '');
                
                //Escribe numero de cajas
                $pdf->SetXY(140,70 + $saltoY);
                $pdf->Cell(10 , 5 , $numCajas['cantidad'] , 1 , 0 , 'C' , 0 , '');
                
                //Escribe numero de Sobres
                $pdf->SetXY(150,70 + $saltoY);
                $pdf->Cell(10 , 5 , $numSobres['cantidad'] , 1 , 0 , 'C' , 0 , '');
                
                //Escribe numero de Valijas
                $pdf->SetXY(160,70 + $saltoY);
                $pdf->Cell(10 , 5 , $numValijas['cantidad'] , 1 , 0 , 'C' , 0 , '');
                
                //Escribe numero de factura
                $pdf->SetXY(170,70 + $saltoY);
                $pdf->Cell(25 , 5 , $numFactura['num_factura'] , 1 , 0 , 'C' , 0 , '');
                
                $saltoY = $saltoY + 5;
                
            }
            //$pdf->SetXY(25,130);
            
            //Area de firma
            $pdf->Line( 25,250 ,70 ,250);
            $pdf->Text(30,260,"Firma Mensajero");
            $pdf->Line( 140,250 ,185 ,250);
            $pdf->Text(150,260,"Firma Cliente");
            
        
        
    pg_close($conexion);
    $pdf->Output("Orden_".$codigo.".pdf","D"); 
    
}
   



    
?>